Variable undo-send delay time

ABSTRACT

A computer-based communications system is provided. In aspects of the invention, the computer-based communications system is configured to adjust a time period for delaying a message from being sent by a user. A message is drafted by a user to be sent to a recipient. A selection is received for send the message to the recipient. A time period is adjusted for sending the message to the recipient based on user-centric considerations where the time period for delaying sending the message is not explicitly specified by the user. The message is delayed being sent for the time period. After the time period, the message is sent to the recipient.

BACKGROUND

The invention relates generally to computer-based communicationssystems, and relates more particularly to computer-based communicationssystems configure to retrieve sent messages before they are received.

Many of us send countless email messages every day. Sometimes, after theemail message has already been sent, we realize a mistake has been made.Some systems provided a means for undoing the sent message. The sentmessage can be retrieved before it is received by the recipient if thesender acts quickly enough within a fixed period of time. Thus, it ispossible to stop messages from actually being sent after hitting thesend button if the request to retrieve the message is received within acertain period of time.

SUMMARY

According to a non-limiting embodiment, a computer-implemented methodfor adjusting a time period for delaying a message from being sent by auser is provided. The computer-implemented method includes drafting amessage to a recipient and receiving a selection to send the message.The time period is adjusted to delay sending the message based on atleast one user-centric consideration, wherein the time period is notexplicitly specified by the user. Sending of the message is delayed forthe adjusted time period.

According to another non-limiting embodiment, a system for delaying amessage from being sent by a user is provided is provided. The systemincludes a processor coupled to a memory unit, wherein the processor isconfigured to execute program instructions. The program instructionsinclude instructing the processor to display, through a display element,a message being drafted to a recipient and receiving a selection to sendthe message. The program instructions also instruct the processor toadjust the time period to delay sending the message based on at leastone user-centric consideration, wherein the time period is notexplicitly specified by the user. The program instructions also instructthe processor to delay sending the message for the adjusted time periodthen send the message to the recipient after the time period.

According to yet another non-limiting embodiment, a computer programproduct is provided. The computer program product includes a computerreadable storage medium having program instructions embodied therewith,the program instructions executable by a computer processor to cause thecomputer processor to perform a method for delaying a message from beingsent by a user is provided. A message being drafted to a recipient isdisplayed and a selection to send the message is received. The timeperiod to delay sending the message is adjusted based on at least oneuser-centric consideration, wherein the time period is not explicitlyspecified by the user. Sending the message is delayed for the adjustedtime period then the message is sent to the recipient after the timeperiod.

Additional features and advantages are realized through the techniquesof the invention. Other embodiments and aspects of the invention aredescribed in detail herein and are considered a part of the claimedinvention. For a better understanding of the invention with theadvantages and the features, refer to the description and to thedrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features, and advantages ofthe invention are apparent from the following detailed description takenin conjunction with the accompanying drawings, in which:

FIG. 1 depicts a block diagram illustrating an exemplary computerprocessing system that may be utilized to implement one or moreembodiments of the present invention;

FIG. 2 depicts an electronic messaging environment where messages aredrafted and transmitted over a network and that is utilized to implementone or more embodiments of the present invention;

FIG. 3A depicts a user interface of an email client where a message isbeing drafted according to one or more embodiments of the presentinvention;

FIG. 3B depicts the user interface of FIG. 3A indicating the message isbeing delayed for a period of time after the send button has beenselected according to one or more embodiments of the present invention;and

FIG. 4 is a flow diagram illustrating a method for adjusting a timeperiod for delaying a message from being sent by a user according to oneor more embodiments of the present invention.

The diagrams depicted herein are illustrative. There can be manyvariations to the diagram or the operations described therein withoutdeparting from the spirit of the invention. For instance, the actionscan be performed in a differing order or actions can be added, deletedor modified. Also, the term “coupled” and variations thereof describeshaving a communications path between two elements and does not imply adirect connection between the elements with no interveningelements/connections between them. All of these variations areconsidered a part of the specification.

In the accompanying figures and following detailed description of thedisclosed embodiments, the various elements illustrated in the figuresare provided with two or three digit reference numbers. With minorexceptions, the leftmost digit(s) of each reference number correspond tothe figure in which its element is first illustrated.

DETAILED DESCRIPTION

Various embodiments of the invention are described herein with referenceto the related drawings. Alternative embodiments of the invention can bedevised without departing from the scope of this invention. Variousconnections and positional relationships (e.g., over, below, adjacent,etc.) are set forth between elements in the following description and inthe drawings. These connections and/or positional relationships, unlessspecified otherwise, can be direct or indirect, and the presentinvention is not intended to be limiting in this respect. Accordingly, acoupling of entities can refer to either a direct or an indirectcoupling, and a positional relationship between entities can be a director indirect positional relationship. Moreover, the various tasks andprocess steps described herein can be incorporated into a morecomprehensive procedure or process having additional steps orfunctionality not described in detail herein.

The following definitions and abbreviations are to be used for theinterpretation of the claims and the specification. As used herein, theterms “comprises,” “comprising,” “includes,” “including,” “has,”“having,” “contains” or “containing,” or any other variation thereof,are intended to cover a non-exclusive inclusion. For example, acomposition, a mixture, process, method, article, or apparatus thatcomprises a list of elements is not necessarily limited to only thoseelements but can include other elements not expressly listed or inherentto such composition, mixture, process, method, article, or apparatus.

Additionally, the term “exemplary” is used herein to mean “serving as anexample, instance or illustration.” Any embodiment or design describedherein as “exemplary” is not necessarily to be construed as preferred oradvantageous over other embodiments or designs. The terms “at least one”and “one or more” may be understood to include any integer numbergreater than or equal to one, i.e. one, two, three, four, etc. The terms“a plurality” may be understood to include any integer number greaterthan or equal to two, i.e. two, three, four, five, etc. The term“connection” may include both an indirect “connection” and a direct“connection.”

The terms “about,” “substantially,” “approximately,” and variationsthereof, are intended to include the degree of error associated withmeasurement of the particular quantity based upon the equipmentavailable at the time of filing the application. For example, “about”can include a range of ±8% or 5%, or 2% of a given value.

For the sake of brevity, conventional techniques related to making andusing aspects of the invention may or may not be described in detailherein. In particular, various aspects of computer systems and specificcomputer programs to implement the various technical features describedherein are well known. Accordingly, in the interest of brevity, manyconventional implementation details are only mentioned briefly herein orare omitted entirely without providing the well-known system and/orprocess details.

Sometime it is desirable to recall a message after the send button hasbeen selected. A user can sometimes successfully recall a message ifaction is taken quick enough. In such case, the time period forrecalling a message is fixed. What is needed is the ability toautomatically adjust the time period to undo a sent message based onreal-time user-centric considerations where the user does not explicitlyspecify the time period. For example, a complex message with multipleintended recipients could result in an increased period of time to delaysending the message so that the user/drafter has more time to recall themessage if needed. In contrast, a simple message to a single recipienthas reduced risk and, therefore, only a short time period of delay torecall the message is needed. Thus, user-centric considerationsautomatically determine the time period for delaying a message after theuser has indicated to send the message.

FIGS. 1-3A and 3B and the associated descriptions provide a descriptionof various operating environments in which examples of the disclosureare practiced. However, FIGS. 1-3A and 3B are for purposes of exampleand illustration and are not limiting of the vast number of computingdevice configurations that are utilized for practicing aspects of thedisclosure.

Referring to FIG. 1, there is shown an embodiment illustrating physicalcomponents (i.e., hardware) of a processing system, commonly referred toas a computing device or system 100, for example, a mobile telephone, asmartphone, a tablet personal computer, a laptop computer, and the like,for implementing the teachings herein. In a basic configuration, thecomputing device 100 includes at least one processing unit 102 and asystem memory 104. According to an aspect, depending on theconfiguration and type of computing device, the system memory 104comprises, but is not limited to, volatile storage (e.g., random accessmemory), non-volatile storage (e.g., read-only memory), flash memory, orany combination of such memories. According to an aspect, the systemmemory 104 includes an operating system 105 and one or more programmodules 106 suitable for running software applications 118. According toan aspect, the system memory 104 includes email client 116 for messagemanagement, composition, transmission and reception. The email client116 may sometimes be referred to as a mail user agent (MUA). Theoperating system 105, for example, is suitable for controlling theoperation of the computing device 100.

Furthermore, aspects are practiced in conjunction with a graphicslibrary, other operating systems, or any other application program, andis not limited to any particular application or system. This basicconfiguration is illustrated in FIG. 1 by those components within adashed line 108. According to an aspect, the computing device 100 hasadditional features or functionality. For example, according to anaspect, the computing device 100 includes additional data storagedevices (removable and/or non-removable) such as, for example, magneticdisks, optical disks, or tape. Such additional storage is illustrated inFIG. 1 by a removable storage device 119 and a non-removable storagedevice 120.

As stated above, according to an aspect, a number of program modules anddata files are stored in the system memory 104. While executing on theprocessing unit 102, the program modules 106 (e.g., email client 116)perform processes including, but not limited to, one or more of thestages of the method 400 illustrated in FIG. 4. According to an aspect,other program modules are used in accordance with examples and includeapplications such as contacts applications, word processingapplications, spreadsheet applications, database applications, slidepresentation applications, drawing or computer-aided applicationprograms, and the like.

According to an aspect, the computing device 100 has one or more inputdevice(s) 122 such as a keyboard, a mouse, a pen, a sound input device,a touch input device, etc. The output device(s) 124 such as a display,speakers, a printer, etc. are also included according to an aspect. Theaforementioned devices are examples and others may be used. According toan aspect, the computing device 100 includes one or more communicationconnections 126 allowing communications with other computing devices.Examples of suitable communication connections 126 include, but are notlimited to, radio frequency (RF) transmitter, receiver, and/ortransceiver circuitry, universal serial bus (USB), parallel, and/orserial ports.

FIG. 2 illustrates an exemplary embodiment of an electronic messagingenvironment 200 where messages are drafted and transmitted over anetwork 210 such as the Internet and/or a corporate network, forexample, an enterprise network. The message may be, for example, anemail message a text message, a social media post, or a post to abulletin board. For example, a user 212 uses the email client 116 on thecomputing device 100 to compose or draft messages such as message 220.After the user hits the send button to transmit the message 220 to oneor more intended recipients 250, the message 220 is received at a mailtransfer agent (MTA) 260 of a mail server 266. The incoming message 220is then delivered over the network 210 to the email client 116 of one ormore intended recipients 250. However, after receiving the selection tosend the message and while delaying sending of the message, the messagemay be recalled during a time period.

In one or more embodiments, while the messages are being composed andsent, the email client 116 generates a profile based on email analyticssuch as, for example, the length of time taken to draft each message,the complexity of each drafted message, the content of the messageincluding tone and semantics, the recipients of the messages, the numberof attachments or images, the level of sensitivity or confidentiality ofthe contents of the body of the message and attachments, the number ofwindows open while drafting the message, the level of multitasking bythe user, whether the user is involved in other activities such asspeaking on the phone, the time of day, the number of detected typos,and the number of times the user previously tried and succeeded inretrieving or recalling messages after making selections to send themessages. Thus, the profile provides user-centric considerations whichare then subsequently used to automatically determine a period of timeto delay sending a newly drafted message after the user has indicated tosend the message. For example, the more complex the message is thegreater the delay could be. Also, as the number of recipients increasesthe length of the delay could increase. Increase sensitivity of themessage body or the attachment could also increase the delay for sendingthe message. Also, an increased level of multitasking could result in alonger delay. A simple message without attachments to only a singlerecipient could have a short delay.

As mentioned above, a message that a user has indicated to send may bedelayed for a period of time in the event the user may want to recallthe message for any reason. The time period for delaying each message220 being sent to the mail server 266 is automatically determined basedon one or more of the user-centric considerations. In other words, eachtime a message is drafted and a send button is selected, a time periodis automatically adjusted or determined for delaying the message. Also,in one or more embodiments, the particular adjustment of the time periodfor delaying sending a message is unbeknownst to the user while themessage is being drafted. Thus, the user or message drafter does notexplicitly specify the time period for delaying a message.

The time period for delaying a message may be adjusted based on theuser's/drafter's profile and/or characteristics of the message itself.For example, in one or more embodiments, the time period to delaysending the message is adjusted based on the number of times the userhad previously requested messages to be retrieved after having madeselections to send messages. The time period to delay sending themessages may also be adjusted based on one or more of the following: adistraction level of the user while drafting the message being delayed,based on the complexity of the message being delayed, its tone orsemantic content as determined by text analytics, an intended recipientof the message (such as the drafter's boss, or some other important orsignificant person), the number of recipients, whether there is anattachment or the sensitivity level of the attachment or the content ofthe body of the message, or the level of the user's multitasking suchas, for example, watching video, searching on the internet, on thecomputing device 100 or on other devices 202 communicatively coupled tothe computing device 100, where the message was drafted, for example.

FIG. 3A depicts a user interface 300 of the email client 116 for theuser 212 where the message 220 is being drafted. In one or moreembodiments, the user interface 300 has a tool bar 310 with one or morebuttons such as send button 312. Also, the user interface 300 includesthe message 220 having a message header 320 and a message body 328.Referring now to FIG. 3B, after the user 212 selects the send button 312(FIG. 3A), the message 220 is no longer visible and is replaced with alist of sent or received messages 350 such as the received messages inInbox 1, for example. An indicator 330 is displayed in the tool bar 310or elsewhere in the user interface 300 for indicating the sending of themessage 220 is delayed. The adjustment of the time period for delayingthe message 220 can be determined while the message 220 is being draftedor upon selection of the send button 312 by the user 212. The indicator330 can continue to be displayed for the time adjusted period of thedelay so that the user is continuously reminded, for the time period,that the message 220 has not actually been sent yet despite the user 212having selected the send button 312.

In one embodiment, the message 220 continues to be displayed for theperiod of time the indicator 330 is being delayed and then the message220 disappears, along with the indicator 330, after the time period forthe delay has expired. In one or more embodiments, the shape, sizeand/or color of the indicator 330 changes as time is expiring. Theindicator 330 may also include flashes of light. In one or moreembodiments, the color of the indicator 330 changes as time counts down,for example, the indicator 330 could be green when more than 10 secondsremain, red when less than 10 seconds remain, flash red when less than 5seconds remain before the message is sent.

Also, in one or more embodiments, the indicator 330 itself may beselectable. For example, selecting the indicator 330 can result inrecalling or retrieving a message during the time period of the delay.In one or more embodiments, the indicator 330 may be a timer indicatinghow much of the delay is left before the message is sent.

Turning to FIG. 4, one or more embodiments may include a method 400 foradjusting a time period for delaying a message from being sent by auser. The flow diagram of FIG. 4 illustrates the method 400 thatincludes process block 410 for drafting a message to a recipient andprocess block 420 for receiving a selection to send the message. Themethod 400 also includes process block 430 for adjusting the time periodto delay sending the message based on at least one user-centricconsideration, wherein the time period is not explicitly specified bythe user. The method 400 also includes process block 440 delayingsending the message for the determined time period.

The method 400 may also include, while the message is being drafted orafter the user has made a selection to send the message, adjusting thetime of the delay to a period of time that is unbeknownst to the user.The method 400 may also include displaying an indicator of the adjustedperiod of time after receiving the selection to send the message. Themethod 400 may also include sending the message to the recipient afterthe expiration of the time period.

Various technical benefits are achieved using the system and methodsdescribed herein, including the capability of providing enhancedperformance for applications with exclusive access to the co-processorswhile also allowing applications that do not need performance access toaccelerators when shared access is available. In this manner, thecomputing device can realize performance gains through the use ofco-processors in the system, thereby improving overall processingspeeds.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

1. A computer-implemented method for adjusting a time period fordelaying a message from being sent by a user, the computer-implementedmethod comprising: drafting, using a processor, a message to arecipient; receiving, using the processor, a selection to send themessage; adjusting, using the processor, the time period to delaysending the message based on at least one user-centric consideration,wherein the time period is not explicitly specified by the user, the atleast one user-centric consideration comprising a number of applicationwindows that are concurrently open at the time of the drafting of themessage; and delaying sending the message for the adjusted time period.2. The computer-implemented method of claim 1, wherein adjusting thetime period to delay sending the message comprises adjusting the timeperiod to delay sending the message based on the number of applicationwindows that are concurrently open.
 3. The computer-implemented methodof claim 1, wherein adjusting the time period to delay sending themessage comprises adjusting the time period to delay sending the messagebased on a distraction level of the user.
 4. The computer-implementedmethod of claim 1, wherein adjusting the time period to delay sendingthe message comprises adjusting the time period to delay sending themessage based on a complexity of the message.
 5. Thecomputer-implemented method of claim 1, wherein adjusting the timeperiod to delay sending the message comprises adjusting the time periodto delay sending the message based on an intended recipient of themessage.
 6. The computer-implemented method of claim 1, whereinadjusting the time period to delay sending the message comprisesadjusting the time period to delay sending the message based on themessage having an attachment.
 7. The computer-implemented method ofclaim 1, wherein adjusting the time period to delay sending the messagecomprises adjusting the time period to delay sending the message basedon at least one of the following: a level of the user's multitasking;and a level of confidentiality of the message.
 8. Thecomputer-implemented method of claim 1 further comprising, afterreceiving the selection to send the message and while delaying sendingof the message, recalling the message during the time period.
 9. Thecomputer-implemented method of claim 1 further comprising displaying anindicator after receiving the selection to send the message, wherein theindicator comprises indicates a time remaining for the user to recallthe message.
 10. A system for adjusting a time period for delaying amessage from being sent by a user, the system comprising: a processorcoupled to a memory unit, wherein the processor is configured to executeprogram instructions comprising: controlling a display to display amessage being drafted to a recipient; receiving a selection to send themessage; adjusting the time period to delay sending the message based onat least one user-centric consideration, wherein the time period is notexplicitly specified by the user, the at least one user-centricconsideration comprising a number of application windows that areconcurrently open at the time of the drafting of the message; delayingsending the message for the adjusted time period; and sending themessage to the recipient after expiration of the time period.
 11. Thesystem of claim 10, wherein adjusting the time period to delay sendingthe message comprises adjusting the time period to delay sending themessage based on the number of application windows that are concurrentlyopen.
 12. The system of claim 10, wherein adjusting the time period todelay sending the message comprises adjusting the time period to delaysending the message based on a distraction level of the user.
 13. Thesystem of claim 10, wherein adjusting the time period to delay sendingthe message comprises adjusting the time period to delay sending themessage based on complexity of the message.
 14. The system of claim 10,wherein adjusting the time period to delay sending the message comprisesadjusting the time period to delay sending the message based on at leastone of the following: an intended recipient of the message; the messagehaving an attachment; a level of confidentiality of the message; and alevel of the user's multitasking.
 15. The system of claim 10, whereinadjusting the time period to delay sending the message comprisesadjusting the time period to delay sending the message while the messageis being drafted unbeknownst to the user.
 16. A computer program productcomprising a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya computer processor to cause the computer processor to perform a methodfor adjusting a time period for delaying a message from being sent by auser, the method comprising: controlling a display to display a messagebeing drafted to a recipient; receiving a selection to send the message;adjusting the time period to delay sending the message based on at leastone user-centric consideration, wherein the time period is notexplicitly specified by the user, the at least one user-centricconsideration comprising a number of application windows that areconcurrently open at the time of the drafting of the message; delayingsending the message for the adjusted time period; and sending themessage to the recipient after expiration of the time period.
 17. Thecomputer program product of claim 16, wherein adjusting the time periodto delay sending the message comprises adjusting the time period todelay sending the message based on at least one of the following: anumber of times the user has requested messages to be retrieved aftermaking selections to send the messages; a distraction level of the user;a level of confidentiality of the message; and on complexity of themessage.
 18. The computer program product of claim 16 further comprisingdisplaying an indicator that indicates the adjusted period of time torecall the message after receiving the selection to send the message.19. The computer program product of claim 16, wherein adjusting the timeperiod to delay sending the message comprises adjusting the time periodto delay sending the message based on at least one of the following: anintended recipient of the message; a level of confidentiality of themessage; the message having an attachment; and a level of the user'smultitasking.
 20. The computer program product of claim 16, whereinadjusting the time period to delay sending the message comprisesadjusting the time period to delay sending the message while the messageis being drafted unbeknownst to the user.